package com.kevin;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.kevin.demo.entity.UserInfo;
import com.kevin.demo.util.PropertiesLoaderUtil;
import com.kevin.demo.util.ReflectUtil;
import com.kevin.demo.util.SpringContextUtil;

public class Work {

	public static void main(String[] args) {
		try {
			// ---Spring begin ---
			// 1、读取配置文件数据
			Map<String, Object> data = PropertiesLoaderUtil.load("application.properties");
			
			List<String> ilist = new ArrayList<>();
			ilist.add("123");
			
			String className = data.get("className").toString();
			data.remove("className");
			// 2、加载类
			Object obj = ReflectUtil.fillValues(className, data);
			// 3、放入容器
			SpringContextUtil.add(className, obj);
			// ---Spring end ---
			// 注解注入
			// @Autowired
			UserInfo user = SpringContextUtil.get(UserInfo.class);
			user = (UserInfo)SpringContextUtil.get(UserInfo.class.getName());
			System.out.println(JSONObject.toJSONString(user));

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
